// 类型断言
// 类型断言（Type Assertion）可以用来手动指定一个值的类型。

// 第一种 值 as 类型
//  第二种 < 类型 > 值‘



// 当我们使用联合类型时，调用方法时会调用它们共有的方法，才不会报错，例如  以下例子
// 我们想返回数字或者字符串长度 ，调用lengt属性但number类型没有 就会报错，这时候使用类型断言确定它就是为某一个类型


function getValueLength(a: number | string): number {
    if ((a as string).length) {
        return (<string>a).length
    }
    else {
        return a.toString().length
    }
}

(window as any).foo = 1;

// console.log(window);



// 将 any 断言为一个具体的类型

function sum(a:any,b:any){
    return a+b;
}


console.log(sum(1,2) as number);//断言为number类型的返回值
